# LangChain相关模块的导入
from langchain import LLMChain
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate

# 加载个人的OpenAI Token
key = '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'
# 创建OpenAI调用实例
# 本示例中为了让结果更具有创造性，temperature设置为0.9
llm = ChatOpenAI(temperature=0.9, openai_api_key=key)
# 根据prompt模板生成prompt实例
prompt = ChatPromptTemplate.from_template(
    "请给生产: {product} 的工厂起一个恰当的厂名，并给出一句广告语。"
)
# 组合大模型实例和prompt实例，生成LLMChain实例，将结构固定，方便复用
chain = LLMChain(
    # 大模型实例
    llm=llm,
    # prompt实例
    prompt=prompt,
    # 开启详细模式，会将大模型调用细节输出到控制台
    verbose=True
)
# 通过run方法，传入模版中需要的参数，调用大模型获取结果
product = "Huawei Mate60 Pro"
res = chain.run(product)
print(res)

# --------------
# 输出结果如下：
# 厂名：华夏技术有限公司
# 广告语：轻舟已过万重山
